package mushystuff.dtb.core.service;

import javax.annotation.security.RolesAllowed;

import mushystuff.dtb.core.service.to.ProductInfoTO;
import mushystuff.dtb.core.service.to.ProductTO;
import mushystuff.dtb.core.service.to.SprintTO;
import mushystuff.dtb.core.service.to.UserStoryTO;

public interface ProductService {
    
	@RolesAllowed({"PO"})
	void createUpdateProduct(ProductTO product);
    
    ProductTO getProduct(long productId);

    ProductInfoTO[] getAllProductsInfo();
    
    ProductTO[] getAllActiveProducts();
    
    void addUserStoryToBacklog(long productId, UserStoryTO userStory);
    
    void addSprint(long productId, SprintTO sprint);
    
    void removeUserStoryFromBacklog(long userStoryId);
    
    UserStoryTO getUserStory(long userStoryId);

}
